07. 分布式数据库系统原理
1. 分布式数据库系统(DDB)概述
1.1 什么是分布式数据库系统(DDB)?
分布式数据库系统(Distributed Database System, DDB) 是指数据在物理上分布于网络中的不同计算机上,但逻辑上是相互关联的,并由一个 分布式数据库管理系统(Distributed Database Management System, DDBMS) 进行管理的数据库系统。
两种主要类型:
- 物理分布,逻辑集中(General DDB):数据分散存储,但从用户角度看,它们构成一个统一的、逻辑集中的数据库。这是本课程的重点。
- 物理分布,逻辑也分布(Federated Database System, FDBS):更强调自治性,每个成员数据库保持自己的模式和管理,通过协商实现数据共享。
1.2 DDBS的特点
- 分布性(Distribution):数据物理上分散存储在不同节点。
- 关联性(Correlation):分散的数据在逻辑上是相互关联的,共同构成一个完整的数据库。
- DDBMS管理:由专门的DDBMS软件统一管理和协调。
1.3 DDBS的优缺点
优点:
- 本地自治性(Local Autonomy):每个站点可以独立管理其本地数据。
- 高可用性(Good Availability):通过数据副本支持,部分站点故障不影响整个系统。
- 高灵活性(Good Flexibility):系统扩展性好,易于适应业务变化。
- 低系统成本(Low System Cost):可使用廉价的通用硬件构建。
- 高效率(High Efficiency):多数访问可在本地处理,减少通信开销。
- 并行处理(Parallel Process):不同站点可并行执行任务,提高吞吐量。
缺点:
- 集成困难(Hard to Integrate Existing Databases):整合现有异构数据库复杂。
- 系统复杂性高(Too Complex):系统本身的设计、使用、维护(如DDB设计)都比集中式数据库复杂。
1.4 DDBS面临的主要问题
与集中式DBMS相比,DDBS的特殊性带来了以下挑战:
- 查询优化(Query Optimization):优化目标不同,需考虑网络传输成本。
- 并发控制(Concurrency Control):需考虑整个网络的并发事务协调。
- 恢复机制(Recovery Mechanism):所有子事务必须同时提交或同时中止(原子性)。